/**
 * 环保水保监测常量配置
 * @description 包含问题分类、颜色配置、图标配置等
 */

// 导入问题分类图标
import raodongIcon from '@/assets/images/map-POI-问题01-默认.png';
import pianyiIcon from '@/assets/images/map-POI-问题02-默认.png';
import luoshiIcon from '@/assets/images/map-POI-问题03-默认.png';
import linshiIcon from '@/assets/images/map-POI-问题04-默认.png';
import shunpoIcon from '@/assets/images/map-POI-问题05-默认.png';
import zhibeiIcon from '@/assets/images/map-POI-问题06-默认.png';
import qitaIcon from '@/assets/images/map-POI-问题07-默认.png';

/**
 * 问题分类配置
 */
export const QUESTION_CONFIG = {
  // 问题分类对应的矢量类型
  TYPE_MAPPING: {
    '1': 'polygon',     // 扰动 - 面
    '2': 'lineString',  // 偏移 - 线
    '3': 'point',       // 落石 - 点
    '4': 'point',       // 临时 - 点
    '5': 'point',       // 损坡 - 点
    '6': 'polygon',     // 植被 - 面
    '7': 'point',       // 其他 - 点
  },
  
  // 问题分类对应的默认颜色
  COLOR_MAPPING: {
    '1': '#FF3030',     // 扰动 - 红色
    '2': '#00CCFF',     // 偏移 - 青色
    '3': '#00ABFF',     // 落石 - 蓝色
    '4': '#FF6400',     // 临时 - 橙色
    '5': '#FFC400',     // 损坡 - 黄色
    '6': '#4FDB5D',     // 植被 - 绿色
    '7': '#794EFF',     // 其他 - 紫色
  },
  
  // 问题分类对应的图标
  ICON_MAPPING: {
    '1': raodongIcon,   // 扰动
    '2': pianyiIcon,    // 偏移
    '3': luoshiIcon,    // 落石
    '4': linshiIcon,    // 临时
    '5': shunpoIcon,    // 损坡
    '6': zhibeiIcon,    // 植被
    '7': qitaIcon,      // 其他
  },
  
  // 问题分类名称
  TYPE_NAMES: {
    '1': '扰动',
    '2': '偏移',
    '3': '落石',
    '4': '临时',
    '5': '损坡',
    '6': '植被',
    '7': '其他',
  }
};

/**
 * 环保水保监测结果配置
 */
export const MONITORING_RESULT_CONFIG = {
  // 矢量样式类型映射
  VECTOR_STYLES: {
    polygon: {
      materialType: 'Polygon',
      opacity: 0.3,
      outline: true,
      outlineWidth: 2.5,
      clampToGround: true
    },
    lineString: {
      width: 5,
      clampToGround: true,
      materialType: 'LineFlow',
      speed: 5
    },
    point: {
      scaleByDistance: [7000, 1, 150000, 0.1],
      horizontalOrigin: 'CENTER',
      verticalOrigin: 'BOTTOM',
      clampToGround: true
    }
  },
  
  // 标签样式配置
  LABEL_STYLES: {
    common: {
      font_size: 14,
      color: "#ffffff",
      background: true,
      backgroundColor: 'rgb(0,172,199)',
      pixelOffsetY: -70,
      pixelOffsetScaleByDistance: [7000, 1, 150000, 0.1],
      scaleByDistance: [7000, 1, 150000, 0.1],
      distanceDisplayCondition: [0, 10000],
    }
  }
};

/**
 * 获取问题类型对应的矢量类型
 * @param {string} questionNum - 问题编号
 * @returns {string} 矢量类型
 */
export function getQuestionVectorType(questionNum) {
  return QUESTION_CONFIG.TYPE_MAPPING[questionNum] || 'point';
}

/**
 * 获取问题类型对应的颜色
 * @param {string} questionNum - 问题编号
 * @returns {string} 颜色值
 */
export function getQuestionColor(questionNum) {
  return QUESTION_CONFIG.COLOR_MAPPING[questionNum] || '#794EFF';
}

/**
 * 获取问题类型对应的图标
 * @param {string} questionNum - 问题编号
 * @returns {string} 图标路径
 */
export function getQuestionIcon(questionNum) {
  return QUESTION_CONFIG.ICON_MAPPING[questionNum] || qitaIcon;
}

/**
 * 获取问题类型名称
 * @param {string} questionNum - 问题编号
 * @returns {string} 问题类型名称
 */
export function getQuestionTypeName(questionNum) {
  return QUESTION_CONFIG.TYPE_NAMES[questionNum] || '其他';
}
